package com.work.yshop.mvp.contract;

import com.work.yshop.model.Product;

import java.util.List;

/**
 * 搜索结果页面的契约类，定义View和Presenter的接口
 */
public interface SearchResultsContract {

    /**
     * View接口，由Activity实现
     */
    interface View {
        /**
         * 显示加载中状态
         */
        void showLoading();
        
        /**
         * 隐藏加载中状态
         */
        void hideLoading();
        
        /**
         * 显示搜索结果
         */
        void showSearchResults(List<Product> products);
        
        /**
         * 显示空结果状态
         */
        void showEmptyResults();
        
        /**
         * 显示错误信息
         */
        void showError(String message);
    }
    
    /**
     * Presenter接口，由Presenter实现
     */
    interface Presenter {
        /**
         * 绑定View
         */
        void attachView(View view);
        
        /**
         * 解绑View
         */
        void detachView();
        
        /**
         * 搜索商品
         */
        void searchProducts(String keyword);
        
        /**
         * 按综合排序
         */
        void sortByComprehensive();
        
        /**
         * 按销量排序
         */
        void sortBySales();
        
        /**
         * 按价格排序
         */
        void sortByPrice();
    }
} 